home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / dll_gen / loads / loader / loader.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1996-01-18  |  10.8 KB  |  283 lines

  1. VERSION 2.00
  2. Begin Form frmLoader 
  3.    BackColor       =   &H00FFFFFF&
  4.    BorderStyle     =   3  'Fixed Double
  5.    ClientHeight    =   1740
  6.    ClientLeft      =   1935
  7.    ClientTop       =   2820
  8.    ClientWidth     =   5010
  9.    ControlBox      =   0   'False
  10.    Height          =   2145
  11.    Left            =   1875
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    Picture         =   LOADER.FRX:0000
  16.    ScaleHeight     =   1740
  17.    ScaleWidth      =   5010
  18.    Top             =   2475
  19.    Width           =   5130
  20.    Begin PictureBox picFloodBar 
  21.       BackColor       =   &H00C0C0C0&
  22.       BorderStyle     =   0  'None
  23.       FillStyle       =   2  'Horizontal Line
  24.       Height          =   315
  25.       Left            =   180
  26.       ScaleHeight     =   315
  27.       ScaleWidth      =   4590
  28.       TabIndex        =   0
  29.       Top             =   750
  30.       Width           =   4590
  31.    End
  32.    Begin Label labModule 
  33.       BackStyle       =   0  'Transparent
  34.       Height          =   255
  35.       Left            =   1860
  36.       TabIndex        =   1
  37.       Top             =   1200
  38.       Width           =   2970
  39.    End
  40. Option Explicit
  41. ' ===========================================================================================
  42. ' Local String Declarations
  43. ' ===========================================================================================
  44. Dim sLoaderList As String               ' String Declaring the path and list of files to load into memory
  45. Dim sModuleList() As String             ' String Declaring the modules to be loaded into memory
  46. ' ===========================================================================================
  47. ' Local Integer Declarations
  48. ' ===========================================================================================
  49. Dim iModuleListFileHandler As Integer    ' Integer declaring the file handle for the Module list
  50. Dim iLogFileHandle As Integer
  51. Dim iProgramState As Integer
  52. ' ===========================================================================================
  53. ' Local Long Declarations
  54. ' ===========================================================================================
  55. Dim lCurrentPercent As Long              ' Current Percentage value for panel
  56. Dim lMaxPercent As Long                  ' Maximum percentage value for panel
  57. ' ===========================================================================================
  58. ' Local Boolean Declarations
  59. ' ===========================================================================================
  60. Dim bDebugMode As Integer
  61. ' ===========================================================================================
  62. ' Local Constant Declarations
  63. ' ===========================================================================================
  64. Const APPLICATION_INIFILE = "\LOADER.INI"   ' Name of the applications INI file
  65. Const APPLICATION_LOG_FILE = "\LOADER.LOG"
  66. Sub AppendToReport (sReportString As String)
  67.     ' 950816 sb
  68.     On Error GoTo AppendToReportError
  69.     Print #iLogFileHandle, sReportString
  70.     Exit Sub
  71. AppendToReportError:
  72.     Call ErrorHandler(Err, Erl, "LOADER.FRM", "AppendToReport")
  73.     Exit Sub
  74.     Resume 0
  75. End Sub
  76. Sub CloseLogFile ()
  77. On Error GoTo CLoseLogFileError
  78.     Call AppendToReport("=========================================================")
  79.     Call AppendToReport("Loader Stopped " & Format$(Now))
  80.     Call AppendToReport("=========================================================")
  81.     Close #iLogFileHandle
  82. Exit Sub
  83. CLoseLogFileError:
  84.     Call ErrorHandler(Err, Erl, "LOADER.FRM", "CloseLogFile")
  85.     Exit Sub
  86.     Resume 0
  87. End Sub
  88. Sub ExitApplication ()
  89. On Error GoTo ExitApplicationError
  90.     screen.MousePointer = DEFAULT
  91.     End
  92. Exit Sub
  93. ExitApplicationError:
  94.     Call ErrorHandler(Err, Erl, "LOADER.FRM", "ExitApplicationError")
  95.     Exit Sub
  96.     Resume 0
  97. End Sub
  98. Sub Form_Load ()
  99. On Error GoTo Form_LoadError
  100.     screen.MousePointer = HOURGLASS
  101.     Call CentreMe(Me)
  102.     Call SetupGlobalVariables
  103.     Call SetupApplicationVariables
  104.     If bDebugMode Then
  105.         Me.Show
  106.     End If
  107.     Call OpenLogFile
  108.     Call LoadStarterApps
  109.     Call LoadModuleList
  110.     Call CloseLogFile
  111.     Call ExitApplication
  112.     screen.MousePointer = DEFAULT
  113. Exit Sub
  114. Form_LoadError:
  115.     Call ErrorHandler(Err, Erl, "LOADER.FRM", "Form_Load")
  116.     Exit Sub
  117.     Resume 0
  118. End Sub
  119. Sub IncreasePercentage ()
  120. On Error GoTo IncreasePercentageError
  121. Dim sPercentage As String
  122.     lCurrentPercent = lCurrentPercent + 1
  123.     If Int((lCurrentPercent / lMaxPercent) * 100) <> Int((lCurrentPercent - 1 / lMaxPercent) * 100) Then
  124.             picFloodBar.Cls
  125.             picFloodBar.Line (0, 0)-((Int((lCurrentPercent / lMaxPercent) * 100) * (picFloodBar.ScaleWidth / 100)), picFloodBar.ScaleHeight), QBColor(1), BF
  126.         
  127.             sPercentage = Format$(CLng(Int((lCurrentPercent / lMaxPercent) * 100))) + "%"
  128.             picFloodBar.CurrentX = (picFloodBar.Width - picFloodBar.TextWidth(sPercentage)) \ 2
  129.             picFloodBar.CurrentY = (picFloodBar.Height - picFloodBar.TextHeight(sPercentage)) \ 2
  130.             picFloodBar.Print sPercentage
  131.     End If
  132.     DoEvents
  133. Exit Sub
  134. IncreasePercentageError:
  135.     Call ErrorHandler(Err, Erl, "LOADER.FRM", "IncreasePercentage")
  136.     Exit Sub
  137.     Resume 0
  138. End Sub
  139. Function lModuleCount () As Long
  140. On Error GoTo lModuleCountError
  141. Dim sModule As String
  142. Dim lModuleTempCount As Long
  143. lModuleCount = 0
  144. While Not EOF(iModuleListFileHandler)
  145.     Line Input #iModuleListFileHandler, sModule
  146.     lModuleTempCount = lModuleTempCount + 1
  147.     ReDim Preserve sModuleList(lModuleTempCount)
  148.     sModuleList(lModuleTempCount) = sModule
  149.     DoEvents
  150. lModuleCount = lModuleTempCount
  151. Exit Function
  152. lModuleCountError:
  153.     Call ErrorHandler(Err, Erl, "LOADER.FRM", "lModuleCount")
  154.     Exit Function
  155.     Resume 0
  156. End Function
  157. Sub LoadMemory (sFileName As String)
  158. On Error GoTo bLoadMemoryError
  159. Dim iModuleHandler As Integer
  160. Dim iRetValue As Integer
  161. Dim sModuleFileName As String * 100
  162. Dim bAlreadyInMemory As Integer
  163.     iModuleHandler = GetModuleHandle(sFileName)
  164.     If iModuleHandler <> 0 Then
  165.         iRetValue = GetModuleFileName(iModuleHandler, sModuleFileName, Len(sModuleFileName))
  166.         Call AppendToReport("Module Already Loaded In Memory as " & Trim$(sModuleFileName))
  167.         bAlreadyInMemory = True
  168.     End If
  169.     If Right$(sFileName, 3) = "EXE" Then
  170.         Call LoadProgram(sFileName)
  171.     Else
  172.         If LoadLibrary(sFileName) < 32 Then
  173.             Call AppendToReport("Failed To Load Module " & sFileName)
  174.         Else
  175.             If Not bAlreadyInMemory Then
  176.                 Call AppendToReport("Sucessfully Loaded Module " & sFileName)
  177.             End If
  178.         End If
  179.     End If
  180. Exit Sub
  181. bLoadMemoryError:
  182.     Call ErrorHandler(Err, Erl, "LOADER.FRM", "bLoadMemory")
  183.     Exit Sub
  184.     Resume 0
  185. End Sub
  186. Sub LoadModuleList ()
  187. On Error GoTo LoadModuleListError
  188. Dim sModule As String
  189. Dim iIndex As Integer
  190.     Call OpenModuleFile
  191.     Call SetPanelPercentage
  192.     Close iModuleListFileHandler
  193.     For iIndex = 1 To lMaxPercent
  194.         If bDebugMode Then labModule.Caption = Trim$(sModuleList(iIndex))
  195.         Call LoadMemory(Trim$(sModuleList(iIndex)))
  196.         If bDebugMode Then Call IncreasePercentage
  197.     Next iIndex
  198. Exit Sub
  199. LoadModuleListError:
  200.     Call ErrorHandler(Err, Erl, "LOADER.FRM", "LoadModuleList")
  201.     Exit Sub
  202.     Resume 0
  203. End Sub
  204. Sub LoadProgram (sFileName As String)
  205. On Error GoTo LoadProgramError
  206.     If WinExec(sFileName, iProgramState) < 32 Then
  207.         Call AppendToReport("Failed To Load Module " & sFileName)
  208.     Else
  209.         Call AppendToReport("Sucessfully Loaded Module " & sFileName)
  210.     End If
  211. Exit Sub
  212. LoadProgramError:
  213.     Call ErrorHandler(Err, Erl, "LOADER.FRM", "LoadProgram")
  214.     Exit Sub
  215.     Resume 0
  216. End Sub
  217. Sub LoadStarterApps ()
  218. On Error GoTo LoadStarterAppsError
  219. Dim sFileName As String
  220. Dim iCurrentInputLine As Integer
  221.     iCurrentInputLine = 1
  222.     sFileName = GetINIStringValue("StarterApps", "FileName" & Trim$(Str$(iCurrentInputLine)), "", app.Path & APPLICATION_INIFILE)
  223.     While sFileName <> ""
  224.         ChDir GetINIStringValue("StarterApps", "WorkingDirectory" & Trim$(Str$(iCurrentInputLine)), (app.Path), app.Path & APPLICATION_INIFILE)
  225.            If WinExec(sFileName, Val(GetINIStringValue("StarterApps", "StartState" & Trim$(Str$(iCurrentInputLine)), Str$(SW_SHOWNORMAL), app.Path & APPLICATION_INIFILE))) < 32 Then
  226.                 Call AppendToReport("Failed To Load Starter Application " & sFileName)
  227.             Else
  228.                 Call AppendToReport("Sucessfully Loaded Starter Applicaton " & sFileName)
  229.            End If
  230.         iCurrentInputLine = iCurrentInputLine + 1
  231.         sFileName = GetINIStringValue("StarterApps", "FileName" & Trim$(Str$(iCurrentInputLine)), "", app.Path & APPLICATION_INIFILE)
  232.     Wend
  233.     ChDir app.Path
  234. Exit Sub
  235. LoadStarterAppsError:
  236.     Call ErrorHandler(Err, Erl, "LOADER.FRM", "LoadStarterApps")
  237.     Exit Sub
  238.     Resume 0
  239. End Sub
  240. Sub OpenLogFile ()
  241. On Error GoTo OpenFileError
  242.     iLogFileHandle = FreeFile
  243.     Open Environ$("WINDIR") & APPLICATION_LOG_FILE For Output As iLogFileHandle
  244.     Call AppendToReport("=========================================================")
  245.     Call AppendToReport("Load Started " & Format$(Now))
  246.     Call AppendToReport("=========================================================")
  247.     Exit Sub
  248. OpenFileError:
  249.     Call ErrorHandler(Err, Erl, "LOADER.FRM", "OpenFile")
  250.     Exit Sub
  251. End Sub
  252. Sub OpenModuleFile ()
  253. On Error GoTo OpenModuleFileError
  254.     iModuleListFileHandler = FreeFile
  255.     Open sLoaderList For Input As #iModuleListFileHandler
  256. Exit Sub
  257. OpenModuleFileError:
  258.     Call ErrorHandler(Err, Erl, "LOADER.FRM", "OpenModuleFile")
  259.     Exit Sub
  260.     Resume 0
  261. End Sub
  262. Sub SetPanelPercentage ()
  263. On Error GoTo SetPanelPercentageError
  264.     lCurrentPercent = 0
  265.     lMaxPercent = lModuleCount()
  266. Exit Sub
  267. SetPanelPercentageError:
  268.     Call ErrorHandler(Err, Erl, "LOADER.FRM", "SetPanelPercentage")
  269.     Exit Sub
  270.     Resume 0
  271. End Sub
  272. Sub SetupApplicationVariables ()
  273. On Error GoTo SetupApplicationVariablesError
  274.     sLoaderList = GetINIStringValue("Application", "FileList", app.Path & "\LOADER.TXT", app.Path & APPLICATION_INIFILE)
  275.     bDebugMode = GetINIStringValue("Application", "Debug", "False", app.Path & APPLICATION_INIFILE) = "Yes"
  276.     iProgramState = Val(GetINIStringValue("Application", "StartState", Str$(SW_HIDE), app.Path & APPLICATION_INIFILE))
  277. Exit Sub
  278. SetupApplicationVariablesError:
  279.     Call ErrorHandler(Err, Erl, "LOADER.FRM", "SetupApplicationVariables")
  280.     Exit Sub
  281.     Resume 0
  282. End Sub
  283.